کار با خانواده تابع count در اکسل و VBA
سلام به مطلبی دیگر از سری آموزش های سافت پلاس خوش آمدید . مطلبی که امروز و در این پست آموزشی می خواهیم راجع به آن با هم صحبت کنیم نحوه کار با خانواده تابع count در اکسل و VBA است .
آن چیزی که من اینجا از آن تحت عنوان خانواده تابع Count اسم می برم در واقع شامل ۵ تابع مهم و کاربردی هستند که در نرم افزار اکسل قرار دارند .
توابع در اکسل جز بسیار مهم و لاینفک این نرم افزار هستند که با کمک آنها می توانیم خیلی از کارهای خود را به راحتی و بدون نیاز به صرف وقت و یا انجام محاسبات طولانی به سرانجام برسانیم .
در اکسل چیزی در حدود ۱۵۰ تابع کاربردی داریم . در این بین توابع خانواده Count این امکان را به ما می دهند که با استفاده از آنها کار شمارش سلول های موجود در یک محدوده از شیت های کاری را به راحتی شمارش کنیم .
حالا در این بین برای شمارش سلول ها حالات و فرضیات متعددی برای ما پیش می آید . این فرضیات می توانند شامل ساده ترین حالت ها تا پیچیده ترین آنها را در بر بگیرند .
خوب نرم افزار اکسل هم برای پاسخ دهی به این نیاز و برای پوشش دادن به خواسته ها و نیاز های مختلف ما چندین نوع از توابع شمارش یا همان Count را برای ما در نظر گرفته است .
.امروز می خواهیم با هم با تک تک این توابع که همگی در یک خانواده هستند و همه آنها نیز یک کار واحد را برای ما انجام می دهند ، آشنا شویم . البته این آشنایی در دو زمینه خواهد بود .
در قدم اول با نحوه فراخوانی و کار با این توابع در محیط خود نرم افزار اکسل آشنا می شویم . در قدم بعدی خواهیم دید که چطور می شود از این توابع در کدها و برنامه نویسی VBA نیز استفاده کنیم .
پس از شما دعوت می کنم که تا انتهای این آموزش هم همراه من باشید .
آشنایی با خانواده تابع count در اکسل و VBA
خوب طبق معمول برای این که آموزش خود را بصورت عملی پیش ببریم به سراغ یک سری از اطلاعات و دیتاهایی می رویم که مبنای آموزش خود را بر اساس آنها دنبال می کنیم .
حالا با در نظر گرفتن این اطلاعات به سراغ آشنایی و استفاده از تابع Count و هم خانواده های آن می رویم .
در قدم اول با خود تابع Count آشنا می شویم .
۱- آشنایی با تابع Count
تابع Count تابعی است که به کمک آن می توانیم سلول های موجود در یک محدوده را شمارش کنیم.
بعنوان مثال فرض کنید می خواهیم تعداد کالاهای خود را که در ستون A درج شده اند را شمارش کنیم .
برای این کار به راحتی می توانیم از فرمول زیر استفاده و تابع Count را در ساختار آن استفاده کنیم .
. (COUNT(A2:A10= .
نکته بسیار مهمی که در مورد کار با این تابع حتما باید به آن توجه کنید این است که این تابع فقط سلول هایی را برای ما شمارش می کند که در آنها فقط و فقط عدد درج شده باشد.
یعنی اگر این تابع را برای شمارش سلول هایی استفاده کنید که در آنها متن وارد شده است خروجی و نتیجه نهایی تابع در این حالت مقدار صفر خواهد بود .
پس در اینجا کار با تابع Count را فرا گرفتیم حالا به سراغ حالت های بعدی از این تابع می رویم .
۲- آشنایی با تابع COUNTA .
تابع CountA حالت دیگری از تابع Count است که برای ما کار شمارش را انجام می دهد . اما چیزی که برای این تابع مهم است و به آن توجه می کند این است که سلول یا سلول هایی را شمارش می کند که حاوی اطلاعات باشند .
مثلا به فرمول زیر توجه کنید .
. (COUNTA(B2:B10= .
در اینجا این تابع کار شمارش سلول های مورد نظر ما که در این محدوده برایش تعریف کردیم را به راحتی انجام داده و در انتها یک عدد را تحویل ما می دهد .
اما در این بین این تابع یک شرط مهم را در نظر می گیرد و ان شرط هم این است که فقط سلول یا سلول هایی را برای شمارش مد نظر قرار می دهد که این سلول ها حاوی اطلاعات باشند .
حال اینکه این اطلاعات چه باشند هیچ فرقی برای این تابع نمی کند . یعنی اگر سلول حاوی عدد باشد یا متن یا یک تاریخ و یا هر چیز دیگر جزو محدوده شمارش این سلول در نظر گرفته می شود .
پس ملاک کار و عمل این تابع خالی نبودن سلول یا سلول ها از اطلاعات است و با نوع این اطلاعات هیچ کاری ندارد .
۳- آشنایی با تابع COUNTBlank .
Countblank شکل دیگری از خانواده Count است . عملکرد آن هم دقیقا بر عکس حالت قبلی یعنی تابع CountA است .
یعنی اگر تابع CountA سلول هایی که حاوی اطلاعات باشند را برای ما شمارش می کنند این تابع یعنی تابع Countblank فقط به دنبال سلول هایی می گردد که خالی از ااطلاعات باشند .
عملکرد این تابع هم که خیلی ساده است کافی است این تابع را فراخوانی کرده و محدوده سلول های مورد نظر خود را به آن معرفی کنیم بقیه کارها را خود تابع برای ما انجام می دهد .
۴- آشنایی با تابع COUNTIF
تا به اینجای کار با سه نوع از حالت های مختلف این تابع آشنا شدیم . این سه حالت از تابع بدون هیچ دردسری کارهایی را که برایشان برنامه ریزی شده اند را به راحتی برای ما انجام می دهند .
با وجودی که نمی توان منکر کارایی این توابع شد اما در برخی از موارد نیاز هایی برای ما پیش می آید که دیگر این سه حالت از تابع Count نمی توانند پاسخ نیاز های ما را بدهند .
مثلا فرض کنید که می خواهیم بدانیم در ستون مربوط به نام کالاها ، کالایی به اسم ” موس ” چند باز آورده شده است . فکر می کنید کدام یک از سه حالتی که تا به اینجای کار آنها را بررسی کردیم می توانند در این زمینه به ما کمک کنند ؟
مسلما هیچ کدام از آنها پس چاره کار چیست و چه باید کرد ؟ چاره کار در استفاده از شکل جدیدی از تابع است یعنی تابع Countif .
اما این تابع چیست و چگونه می تواند در این زمینه به ما کمک کند ؟ این را در ادامه مطلب با هم یاد خواهیم گرفت .
تابع Countif همانطور که از اسمش پیداست یک تابع شرطی است . برای دریافت بهتر این مفهوم به فرمول زیر نگاه کنید .
. (COUNTIF(range,criteria= .
این تابع دو ورودی از ما می گیرد . ورودی اول Ramge یا همان محدوده ای از سلول هاست که می خواهیم کار شمارش آنها را با استفاده از این تابع انجام دهیم .
ورودی دوم هم مربوط به شرطی است که برای این تابع تعریف می کنیم .
حالا برگردیم به سوال خود . گفتیم می خواهیم بدانیم که کالایی به اسم “موس” چند بار در یک محدوده از سلول ها تکرار شده است .
خوب برای این کار به سراغ استفاده از تابع Countif رفته و ورودی های آن را به صورت زیر مقدار دهی می کنیم .
. ("موس",COUNTIF(B2:B10= .
در اینجا ما از اکسل خواسته ایم که در محدوده سلول های مورد نظر ما جستجو کرده و سلول هایی را برای ما شمارش کند که حاوی کالایی به اسم “موس ” هستند .
پس اینجا ملاک کار برای شمارش سلول ها آن شرطی است که ما برای تابع خود تعریف می کنیم .
اما در اینجا متوجه شباهت بین این تابع و دو تابع قبلی یعنی توابع CountA و Countblank شدید ؟
در واقع توابع توابع CountA و Countblank هم به نحوی یک تابع شرطی محسوب می شوند فقط به جای اینکه ما بخواهیم شرط های مربوط به این توابع را برایشان تعریف کنیم خود اکسل این شرط ها را در نظر می گیرد .
یعنی تابع Count سلول ها را شمارش می کند به شرط اینکه سلول های مورد نظر فقط حاوی عدد باشند
تابع CountA سلول ها را شمارش می کند به شرط اینکه سلول های مورد نظر حاوی اطلاعات باشند .
تابع CountBlank سلول ها را شمارش می کند به شرط اینکه سلول های مورد نظر خالی از اطلاعات باشند.
این مطلب در دست تکمیل است ……….
دیدگاهتان را بنویسید